import datetime
from applications.extensions import db
from sqlalchemy import UniqueConstraint
from sqlalchemy.orm import relationship

class FinishedYPModel(db.Model):
    __tablename__ = '商品档案_成品_饮片'
    id = db.Column(db.Integer, primary_key=True, comment='ID') #默认自增primary_key
    品名 = db.Column(db.String(255), comment='品名', nullable=False)
    简拼 = db.Column(db.String(25), comment='简拼', default='')
    全拼 = db.Column(db.String(255), comment='规格', default='')
    默认规格 = db.Column(db.String(255), comment='默认规格', default='')
    代码 = db.Column(db.String(255), comment='代码', nullable=False)
    状态 = db.Column(db.Integer, default=0, comment='启用|停用')
    版本号 = db.Column(db.Integer, default=1, comment='版本号', nullable=False)
    默认产地 = db.Column(db.String(255), comment='默认产地', default='')
    归属类别 = db.Column(db.String(255), comment='归属类别', default='')
    执行标准 = db.Column(db.String(255), comment='执行标准', nullable=False)
    检验标准 = db.Column(db.String(255), comment='检验标准')
    工艺验证 = db.Column(db.Integer, default=0, comment='是|否')
    贮存条件 = db.Column(db.String(255), comment='贮藏' , default='')
    药典贮存条件 = db.Column(db.String(255), comment='药典贮存条件', default='')
    备注 = db.Column(db.String(255), comment='备注', default='')
    性味与归经 = db.Column(db.String(255), comment='性味与归经', default='')
    功能与主治 = db.Column(db.String(255), comment='功能与主治', default='')
    用法与用量 = db.Column(db.String(255), comment='用法与用量', default='')
    注意事项 = db.Column(db.String(255), comment='注意事项', default='')
    拉丁文 = db.Column(db.String(255), comment='拉丁文', default='')
    采收时间 = db.Column(db.String(255), comment='采收时间', default='')
    初加工方法 = db.Column(db.String(255), comment='初加工方法', default='')
    质量要求 = db.Column(db.String(255), comment='质量要求', default='')
    保质期 = db.Column(db.Integer, comment='保质期', default=24)
    安全库存天数 = db.Column(db.Integer, default=45 ,comment='安全库存天数')
    安全库存 = db.Column(db.Numeric(10,1), comment='安全库存', default=0)
    自定义安全库存 = db.Column(db.Numeric(10,1), comment='自定义安全库存', default=0)
    养护内容 = db.Column(db.String(255), comment='养护内容', default='')
    税率 = db.Column(db.Numeric(3,1), comment='税率%', default='9')

    create_at = db.Column(db.DateTime, default=datetime.datetime.now, comment='创建时间')
    update_at = db.Column(db.DateTime, default=datetime.datetime.now, onupdate=datetime.datetime.now,
                          comment='创建时间')
    #创建联合索引
    __table_args__ = (
        UniqueConstraint('代码', '版本号', name='unix_finished_yp_code_version'),
    )
    def to_dict(self):
        return {column.name: getattr(self, column.name) for column in self.__table__.columns}




